#ifndef __IDEATESTVECTORSSET6__
#define __IDEATESTVECTORSSET6__

#include "../plainkeycipher.h"

// Test vectors from <https://www.cosic.esat.kuleuven.be/nessie/testvectors/bc/idea/Idea-128-64.verified.test-vectors>

const std::vector <PlainKeyCipher> IDEA_TEST_VECTORS_SET_6 = {
    std::make_tuple("8001000180008000", "00000000000000000000000000000000", "8000000000000000"),
    std::make_tuple("c00180014000c000", "00000000000000000000000000000000", "4000000000000000"),
    std::make_tuple("6001c00120006000", "00000000000000000000000000000000", "2000000000000000"),
    std::make_tuple("3001600190003000", "00000000000000000000000000000000", "1000000000000000"),
    std::make_tuple("18013001c8009800", "00000000000000000000000000000000", "0800000000000000"),
    std::make_tuple("8c01180164004c00", "00000000000000000000000000000000", "0400000000000000"),
    std::make_tuple("46018c0132002600", "00000000000000000000000000000000", "0200000000000000"),
    std::make_tuple("2301c60199009300", "00000000000000000000000000000000", "0100000000000000"),
    std::make_tuple("9181e3014c80c980", "00000000000000000000000000000000", "0080000000000000"),
    std::make_tuple("c8c1f1812640e4c0", "00000000000000000000000000000000", "0040000000000000"),
    std::make_tuple("e461f8c11320f260", "00000000000000000000000000000000", "0020000000000000"),
    std::make_tuple("f231fc610990f930", "00000000000000000000000000000000", "0010000000000000"),
    std::make_tuple("f919fe3104c8fc98", "00000000000000000000000000000000", "0008000000000000"),
    std::make_tuple("fc8dff190264fe4c", "00000000000000000000000000000000", "0004000000000000"),
    std::make_tuple("fe47ff8d0132ff26", "00000000000000000000000000000000", "0002000000000000"),
    std::make_tuple("0028fff5003f0013", "00000000000000000000000000000000", "0001000000000000"),
    std::make_tuple("0001800180008000", "00000000000000000000000000000000", "0000800000000000"),
    std::make_tuple("00014001c0004000", "00000000000000000000000000000000", "0000400000000000"),
    std::make_tuple("8001a0016000a000", "00000000000000000000000000000000", "0000200000000000"),
    std::make_tuple("4001d00130005000", "00000000000000000000000000000000", "0000100000000000"),
    std::make_tuple("2001e8019800a800", "00000000000000000000000000000000", "0000080000000000"),
    std::make_tuple("900174014c005400", "00000000000000000000000000000000", "0000040000000000"),
    std::make_tuple("48013a012600aa00", "00000000000000000000000000000000", "0000020000000000"),
    std::make_tuple("a4011d019300d500", "00000000000000000000000000000000", "0000010000000000"),
    std::make_tuple("d2010e81c980ea80", "00000000000000000000000000000000", "0000008000000000"),
    std::make_tuple("e9010741e4c0f540", "00000000000000000000000000000000", "0000004000000000"),
    std::make_tuple("f48103a1f260faa0", "00000000000000000000000000000000", "0000002000000000"),
    std::make_tuple("fa4101d1f930fd50", "00000000000000000000000000000000", "0000001000000000"),
    std::make_tuple("fd2100e9fc98fea8", "00000000000000000000000000000000", "0000000800000000"),
    std::make_tuple("fe910075fe4cff54", "00000000000000000000000000000000", "0000000400000000"),
    std::make_tuple("ff49003bff26ffaa", "00000000000000000000000000000000", "0000000200000000"),
    std::make_tuple("0001000000010001", "00000000000000000000000000000000", "0000000100000000"),
    std::make_tuple("0001000180000000", "00000000000000000000000000000000", "0000000080000000"),
    std::make_tuple("00010001c0000000", "00000000000000000000000000000000", "0000000040000000"),
    std::make_tuple("8001000160000000", "00000000000000000000000000000000", "0000000020000000"),
    std::make_tuple("4001000130008000", "00000000000000000000000000000000", "0000000010000000"),
    std::make_tuple("200100019800c000", "00000000000000000000000000000000", "0000000008000000"),
    std::make_tuple("100100014c00e000", "00000000000000000000000000000000", "0000000004000000"),
    std::make_tuple("8801000126007000", "00000000000000000000000000000000", "0000000002000000"),
    std::make_tuple("4401000193003800", "00000000000000000000000000000000", "0000000001000000"),
    std::make_tuple("22010001c9801c00", "00000000000000000000000000000000", "0000000000800000"),
    std::make_tuple("11010001e4c00e00", "00000000000000000000000000000000", "0000000000400000"),
    std::make_tuple("08810001f2600700", "00000000000000000000000000000000", "0000000000200000"),
    std::make_tuple("04410001f9300380", "00000000000000000000000000000000", "0000000000100000"),
    std::make_tuple("02210001fc9801c0", "00000000000000000000000000000000", "0000000000080000"),
    std::make_tuple("01110001fe4c00e0", "00000000000000000000000000000000", "0000000000040000"),
    std::make_tuple("00890001ff260070", "00000000000000000000000000000000", "0000000000020000"),
    std::make_tuple("ffc3ff910055ff9a", "00000000000000000000000000000000", "0000000000010000"),
    std::make_tuple("0001000100008000", "00000000000000000000000000000000", "0000000000008000"),
    std::make_tuple("0001000180004000", "00000000000000000000000000000000", "0000000000004000"),
    std::make_tuple("00018001c0002000", "00000000000000000000000000000000", "0000000000002000"),
    std::make_tuple("8001c001e0009000", "00000000000000000000000000000000", "0000000000001000"),
    std::make_tuple("400160017000c800", "00000000000000000000000000000000", "0000000000000800"),
    std::make_tuple("2001b00138006400", "00000000000000000000000000000000", "0000000000000400"),
    std::make_tuple("900158011c003200", "00000000000000000000000000000000", "0000000000000200"),
    std::make_tuple("c8012c018e009900", "00000000000000000000000000000000", "0000000000000100"),
    std::make_tuple("640116014700cc80", "00000000000000000000000000000000", "0000000000000080"),
    std::make_tuple("32010b012380e640", "00000000000000000000000000000000", "0000000000000040"),
    std::make_tuple("1901058111c0f320", "00000000000000000000000000000000", "0000000000000020"),
    std::make_tuple("0c8102c108e0f990", "00000000000000000000000000000000", "0000000000000010"),
    std::make_tuple("064101610470fcc8", "00000000000000000000000000000000", "0000000000000008"),
    std::make_tuple("032100b10238fe64", "00000000000000000000000000000000", "0000000000000004"),
    std::make_tuple("01910059011cff32", "00000000000000000000000000000000", "0000000000000002"),
    std::make_tuple("0013fff500120009", "00000000000000000000000000000000", "0000000000000001"),
};

#endif // __IDEATESTVECTORSSET6__
